

set (
    HEADERS
    ce.h
    ce3rdpersoncamera.h
    cecamera.h
    ceclipper.h
    ceeffect.h
    ceengine.cpp
    ceexport.h
    cekeyboard.h
    cemacros.h
    cematerial.h
    cematerialmanager.h
    cemouse.h
    cenode.h
    ceprojector.h
    cepostprocessrenderer.h
    cerange.h
    cerendercontroller.h
    cerenderer.h
    cetimer.h
    cevirtualclock.h
    cexml.h
    cexmlhelper.h
    idynamiccontent.h
    igeometry.h
    igeometryanimator.h
    ilodsolver.h
    imorphmesh.h
    inodeanimator.h
    iqf.h
    iviewport.h
    )

set (
    HEADERS_SCENEGRAPH
    ceboundingbox.h
    cegeometrynode.h
    celightnode.h
    celodnodecollection.h
    cenodecollection.h
    ceparticelnode.h
    cerenderenv.h
    cescene.h
    cesector.h
    cetransform.h
    ceupdateenv.h
    )

set (
    HEADERS_GEOMETRY
    ceinstancedmesh.h
    cemorphmesh.h
    ceparticelmesh.h
    cerendermesh.h
    ceterrainmesh.h
    )

set (
	HEADERS_PHYSICS
	cemotionstate.h
	cephysics.h
	)

set (
    SOURCES
    ce3rdpersoncamera.cpp
    cecamera.cpp
    ceclipper.cpp
    ceengine.cpp
    ceeffect.cpp
    cekeyboard.cpp
    cematerial.cpp
    cematerialmanager.cpp
    cemouse.cpp
    cepostprocessrenderer.cpp
    ceprojector.cpp
    cerendercontroller.cpp
    cetimer.cpp
    cevirtualclock.cpp
    cexml.cpp
    cexmlhelper.cpp
    iqf.cpp
    )

set (
    SOURCES_SCENEGRAPH
    ceboundingbox.cpp
    cegeometrynode.cpp
    celodnodecollection.cpp
    cenode.cpp
    cenodecollection.cpp
    ceparticelnode.cpp
    cescene.cpp
    cesector.cpp
    cetransform.cpp
    )

set (
    SOURCES_GEOMETRY
    ceinstancedmesh.cpp
    cemorphmesh.cpp
    ceparticelmesh.cpp
    cerendermesh.cpp
    ceterrainmesh.cpp
    )

set (
	SOURCES_PHYSICS
	cemotionstate.cpp
	cephysics.cpp
	)

set (
    MATERIALS
    simple.fx
    material.xml
    )



source_group (
    "General\\c++"
    FILES
    ${SOURCES}
    )
source_group (
    "General\\h"
    FILES
    ${HEADERS}
    )

source_group (
    "Scenegraph\\c++"
    FILES
    ${SOURCES_SCENEGRAPH}
    )

source_group (
    "Scenegraph\\h"
    FILES
    ${HEADERS_SCENEGRAPH}
    )

source_group (
    "Geometry\\c++"
    FILES
    ${SOURCES_GEOMETRY}
    )

source_group (
    "Geometry\\h"
    FILES
    ${HEADERS_GEOMETRY}
    )


source_group (
    "Materials"
    FILES
    ${MATERIALS}
    )

source_group (
	"Physics\\c++"
	FILES
	${SOURCES_PHYSICS}
	)

source_group (
	"Physics\\h"
	FILES
	${HEADERS_PHYSICS}
	)


add_definitions(-DCE_GFX_EXPORT)

include_directories (
    ${DIRECTX9_INCLUDE_DIR}
    ${LIBXML2_INCLUDE_DIR}
    ${BULLET_INCLUDE_DIRS}
    )

add_library (
    cegfx
	  SHARED
    ${SOURCES}
    ${SOURCES_SCENEGRAPH}
    ${SOURCES_GEOMETRY}
	  ${SOURCES_PHYSICS}
    ${HEADERS}
    ${HEADERS_SCENEGRAPH}
    ${HEADERS_GEOMETRY}
	  ${HEADERS_PHYSICS}
    ${MATERIALS}
    )



target_link_libraries (
    cegfx
    ${DIRECTX9_LIBS}
    ${LIBXML2_LIBRARIES}
    ${BULLET_LIBRARIES}
    )

